Adapt openstack_test stage to OTE (drop legacy make openstack-tests) - #33
Adapt openstack_test stage to OTE (drop legacy make openstack-tests)#33tusharjadhav3302 wants to merge 4 commits into
Conversation
Manual validation evidence (serval70 / shiftstackclient)Env
1. Legacy path broken (root cause reproduced)2. OTE build succeeds3. List suite (replaces
|
|
Thanks for catching this @tusharjadhav3302 For documentation purposes, the behavior you're seeing is due to these PR's as well: openshift/openstack-test#308 |
|
@danchild Done. |
Upstream openstack-test removed make openstack-tests on release-4.20+ (PR #303 and backports). Use make extension / run-suite for those releases, keep the legacy path for older branches, and preserve run-test/junit exit codes for filtered runs. Co-authored-by: Cursor <cursoragent@cursor.com>
2c5da98 to
ec46f4e
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Outer JSON marks every result failed when stderr starts with klog "I..." lines. Count and rewrite junit from nested STDOUT / ginkgo SUCCESS|FAIL so real suite failures stay UNSTABLE instead of "no tests run". Co-authored-by: Cursor <cursoragent@cursor.com>
Follow-up: OTE false-failure counting (pushed)
Fix (this PR): `files/ote_resolve_results.py` resolves true outcomes from nested STDOUT JSON / ginkgo `SUCCESS!`|`FAIL!`, used to:
Validated against the 4.23 TP log: 24 passed / 20 skipped / 7 real failed (not 51). |
Skipped Ansible tasks still overwrite a shared register, which cleared OTE resolved counts and falsely triggered "no tests where run!". Co-authored-by: Cursor <cursoragent@cursor.com>
|
Pushed register fix: skipped legacy count tasks no longer wipe OTE resolved pass/fail counts ( |
Manual validation (serval71 / live RHOSO + guest OCP 4.23)Validated on shiftstackclient against an existing cluster (no full TP recheck yet). Collection installed from this PR / combine #34 tip including What we validated
Evidence (manual
|
Manual validation (serval71 / live RHOSO + guest OCP 4.23)Validated on shiftstackclient against an existing cluster (no full TP recheck yet). Collection installed from this PR / combine #34 tip including What we validated
Evidence (manual
|
OTE list -o names emits unquoted names plus klog on stdout, while allowlists are converted as quoted patterns for legacy dry-run. Strip optional quotes, drop klog lines, and filter list stdout so .*[lb].* matches again. Co-authored-by: Cursor <cursoragent@cursor.com>
Follow-up: lb_tests / egressip allowlist vs OTE listManual `lb_tests` on serval71 failed with allowlist `".[lb]."` not found in `openstack_tests.txt`. Cause: OTE `list -o names` writes unquoted names (and a leading klog `I0810 ...` line on stdout). Allowlist conversion still emits quoted patterns meant for legacy dry-run, so `filter_tests_list` fullmatch failed. `sed` on the artifact did not help because the playbook regenerates `allowlist.txt` each run. Fix (this PR):
Re-fetch/reinstall collection before re-running `lb_tests` / `egressip_tests`. |
|
/lgtm |
Manual validation complete (serval71) — still targeting Zuul greenValidated on shiftstackclient against live RHOSO + guest OCP 4.23 with collection from combine #34 (includes this PR through allowlist/OTE list fix
Fixes covered in this PR that were exercised: OTE migration, result resolve, register-count wipe, allowlist quote/klog matching. We will still run Zuul via testproject !2584 pinned to #34 for an official green before merge. Manual work was to de-risk; not a substitute for the check job. |
Summary
make openstack-teststarget on release-4.20+, shiftstack-qa’sopenstack_teststage fails immediately withNo rule to make target 'openstack-tests'.discovered_openshift_release >= 4.20, build withmake extension, installbin/openstack-test-tests-ext, list vialist --suite openstack-test/all -o names, and run viarun-suite(orrun-test+ stdin when allow/block lists are set).make openstack-tests/run openshift/openstackpath for < 4.20 so existing 4.16/4.17 job defs still work.CLI / behavior trade-offs
make openstack-testsmake extensionrun openshift/openstack --dry-runlist --suite … -o namesrun … -f list --junit-dirrun-suite … --junit-path=junit_e2e_openstack.xml; filtered:run-testvia stdin (OTE has no-f/--junit-pathonrun-test) + synthesize junit XML from JSON forpost_openshift_testspassed:/failed:"result"field; rescue counters updated accordinglyEnv vars unchanged:
OS_CLOUD,KUBECONFIG,RHOSO_KUBECONFIG,SHIFTSTACK_PASS_FILE.Test plan
release-4.23, confirmmake openstack-testsfails andmake extension+list --suite openstack-test/all -o namessucceeds.run-testagainst the live guest cluster (bz_2022627) — PASSED ("result": "passed"). See PR comment for full evidence.stages: [openstack_test]) — blocked in this env by undefinedhypervisor(cifmw-dnsmasq delegate); OTE CLI path above still validates the migration.lb_tests(filteredrun-test+ synthesized junit).openstack_testwill not exercise this change.Links